package org.fujay.commons.langchain4j.rag.assistant;

import dev.langchain4j.service.*;

/**
 * 定义聊天助手接口，使用AIService自动实现
 */
public interface ChatAssistant {

    /**
     * @author sunliming
     * @description 基础LLM
     */
    @SystemMessage("{{prompt}}")
    TokenStream streamChat(@UserMessage String prompt, @V("prompt") String systemPrompt);

    /**
     * @author sunliming
     * @description 带记忆的LLM
     */
    @SystemMessage("{{prompt}}")
    TokenStream streamChatWithMemory(@UserMessage String prompt, @MemoryId String memoryId, @V("prompt") String systemPrompt);

    /**
     * @author sunliming
     * @description
     */
    @SystemMessage("{{prompt}}")
    String chat(@UserMessage String prompt, @V("prompt") String systemPrompt);
}